package com.spsoft.vatoutinv.model.vo.vmsclassifycode;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.spsoft.vatoutinv.annotation.Translate;
import com.spsoft.vatoutinv.constants.CommonConstant;
import com.spsoft.vatoutinv.constants.DictConstant;
import com.spsoft.vatoutinv.constants.TranslateConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 税收分类编码分页VO
 *
 * @author wangy
 * @date 2023/11/02
 */
@Data
@ContentRowHeight(12)
@HeadRowHeight(22)
@ColumnWidth(25)
@ApiModel(value = "税收分类编码分页")
public class VmsClassifyCodePageVOList {

    @ApiModelProperty(value = "主键")
    @ExcelIgnore
    private Long id;

    @ApiModelProperty(value = "税收分类编码信息查询记录表主键ID")
    @ExcelIgnore
    private Long logBaseId;

    @ApiModelProperty(value = "机构编码")
    @ExcelIgnore
    private String deptCode;

    @ApiModelProperty(value = "纳税人识别号/统一社会信用代码")
    @ExcelIgnore
    private String nsrsbh;

    @ApiModelProperty(value = "总数量")
    @ExcelIgnore
    private Long count;

    @ApiModelProperty(value = "序号", notes = "Excel导出使用")
    @ExcelProperty("序号")
    private int xh;

    @ApiModelProperty(value = "父级编码")
    @ExcelProperty("父级编码")
    private String fjbm;

    @ApiModelProperty(value = "商品和服务税收分类合并编码")
    @ExcelProperty("商品和服务税收分类合并编码")
    private String sphfwssflhbbm;

    @ApiModelProperty(value = "特定要素标签归类;01：成品油,02：稀土,03：建筑服务,04：货物运输,05：不动产销售,06：不动产租赁,07：代收车船使用税,08：通行费,09：旅客运输,10：医疗服务,11：农产品,12：拖拉机和联合收割机,13：机动车,14：光伏收购,15：卷烟")
    @ExcelProperty("特定要素标签归类")
    @Translate(type = TranslateConstant.DICT, value = DictConstant.VMS_TDYSBQGL)
    private String tdyslxdm;

    @ApiModelProperty(value = "差额征税;Y：是 N：否")
    @ExcelProperty("差额征税")
    @Translate(type = TranslateConstant.DICT, value = DictConstant.VMS_YESORNO)
    private String cezs;

    @ApiModelProperty(value = "不征税;Y：是 N：否")
    @ExcelProperty("不征税")
    @Translate(type = TranslateConstant.DICT, value = DictConstant.VMS_YESORNO)
    private String bzs;

    @ApiModelProperty(value = "即征即退代码集合;01：增值税即征即退-软件产品,  02：增值税即征即退-资源综合利用产品, 03：增值税即征即退-管道运输服务,  04：增值税即征即退-有形动产融资租赁服务,  05：增值税即征即退-有形动产融资性售后回租服务,  06：增值税即征即退-新型墙体材料,  07：增值税即征即退-风力发电产品,  08：增值税即征即退-光伏发电产品,  09：增值税即征即退-动漫软件产品,  10：增值税即征即退-飞机维修劳务,  11：增值税即征即退-黄金,  12：增值税即征即退-铂金")
    @ExcelProperty("即征即退代码集合")
    @Translate(type = TranslateConstant.DICT, value = DictConstant.VMS_JZJTDM)
    private String jzjtdm;

    @ApiModelProperty(value = "商品和服务名称")
    @ExcelProperty("商品和服务名称")
    private String sphfwmc;

    @ApiModelProperty(value = "商品和服务分类简称")
    @ExcelProperty("商品和服务分类简称")
    private String sphfwfljc;

    @ApiModelProperty(value = "说明")
    @ExcelProperty("说明")
    private String sm;

    @ApiModelProperty(value = "增值税税率")
    @ExcelProperty("增值税税率")
    private String zzssl;

    @ApiModelProperty(value = "征收率")
    @ExcelProperty("征收率")
    private String zsl;

    @ApiModelProperty(value = "增值税特殊管理")
    @ExcelProperty("增值税特殊管理")
    @Translate(type = TranslateConstant.DICT, value = DictConstant.VMS_ZZSTSGL)
    private String zzstsgl;

    @ApiModelProperty(value = "增值税政策依据")
    @ExcelProperty("增值税政策依据")
    private String zzszcyj;

    @ApiModelProperty(value = "增值税特殊内容代码（增值税减免税政策代码表）")
    @ExcelProperty("增值税特殊内容代码")
    private String zzstsnrdm;

    @ApiModelProperty(value = "消费税管理")
    @ExcelProperty("消费税管理")
    private String xfsgl;

    @ApiModelProperty(value = "消费税政策依据")
    @ExcelProperty("消费税政策依据")
    private String xfszcyj;

    @ApiModelProperty(value = "消费税特殊内容代码")
    @ExcelProperty("消费税特殊内容代码")
    private String xfstsnrdm;

    @ApiModelProperty(value = "MEDIUMTEXT，关键字")
    @ExcelProperty("关键字")
    private String gjz;

    @ApiModelProperty(value = "是否汇总项;Y：是，N：否")
    @ExcelProperty("是否汇总项")
    @Translate(type = TranslateConstant.DICT, value = DictConstant.VMS_YESORNO)
    private String sfhzx;

    @ApiModelProperty(value = "MEDIUMTEXT，对应统计局编码（2011年版）或国民行业代码")
    @ExcelProperty("对应统计局编码")
    private String dytjjbm;

    @ApiModelProperty(value = "MEDIUMTEXT，海关进出口商品品目")
    @ExcelProperty("海关进出口商品品目")
    private String hgjcksppm;

    @ApiModelProperty(value = "启用日期;时间格式：YYYY-MM-DD")
    @ExcelProperty("启用日期")
    @DateTimeFormat("yyyy-MM-dd")
    @Translate(type = TranslateConstant.DATE)
    private Date qyrq;

    @ApiModelProperty(value = "停用日期;时间格式：YYYY-MM-DD")
    @ExcelProperty("停用日期")
    @DateTimeFormat("yyyy-MM-dd")
    @Translate(type = TranslateConstant.DATE)
    private Date tyrq;

    @ApiModelProperty(value = "最后调用时间")
    @ExcelIgnore
    @Translate(type = TranslateConstant.DATE, format = CommonConstant.DATE_FORMAT_14)
    private Date createTime;

    @ApiModelProperty("默认选择税率")
    @ExcelIgnore
    private String selectZzssl;

    @ApiModelProperty("增值税税率")
    @ExcelIgnore
    private List<String> zzsslList;

    @ApiModelProperty("默认选择税率")
    @ExcelIgnore
    private String selectZsl;

    @ApiModelProperty("征收率")
    @ExcelIgnore
    private List<String> zslList;

}
